home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
basic
/
pbtool.exe
/
COLORS.BAS
< prev
next >
Wrap
BASIC Source File
|
1991-11-27
|
5KB
|
133 lines
'----------------------------------------------------------
' PROGRAM: COLORS.BAS PROGRAMMER: A. KELLETT
' DATE-WRITTEN: 11/06/91
' USING POWER BASIC V2.10A
'
' THIS PROGRAM DISPLAYS THE 15 COLORS AVAILABLE AND ALLOWS
' PROGRAMMERS TO SEE THE VALUES USED IN "COLOR" STATEMENTS...
' UPDATE: SPACEBAR TO EXIT NOW WORKS, SAMPLE TEXT DISPLAYED
' NOW DISPLAYS NAME OF COLORS BEING SHOWN
' VERSION: 1.02 LAST UPDATED: 11/27/91
'----------------------------------------------------------
$INCLUDE "KEYS.INC"
VERSION$ = "1.02"
ORIGFOR% = 7:ORIGBACK% = 0:REM** USE YOUR DEFAULT COLORS HERE! **
GOSUB COLORNAMES
GOSUB DRAWSCREEN
GOSUB MAINLOOP
DELAY .25
LOCATE 20,1:COLOR ORIGFOR%, ORIGBACK%
PRINT USING " COLORS V \ \ (GIVING AWAY UNMODIFIED COPIES IS FINE WITH THE AUTHOR)";_
VERSION$
END
'
' DISPLAY INITIAL SCREEN CHART & COLORS
'----------------------------------------------------------
DRAWSCREEN:
CLS
FOR I% = 0 TO 15
K% = 1
FOR J% = 0 TO 15
LOCATE I% + 1, K%
X$ = STR$(J%)
IF J% < 10 THEN
X$ = "0" + RIGHT$(X$,1)
ELSE
X$ = RIGHT$(X$,2)
END IF
COLOR I%,J%:PRINT X$;
K% = K% + 2
NEXT J%
NEXT I%
COLOR ORIGFOR%, ORIGBACK%
LOCATE 1,38:PRINT "╒════════════════════════════╕ ";
LOCATE 2,38:PRINT "│C O L O R S - Andy K. │ ";
LOCATE 3,38:PRINT "│PLEASE PRESS Esc OR SpaceBar│ ";
LOCATE 4,38:PRINT "│ OR Enter TO EXIT │ ";
LOCATE 5,38:PRINT "│USE THE UP/DOWN ARROWS AND │ ";
LOCATE 6,38:PRINT "│LEFT/RIGHT ARROWS TO CHOOSE.│ ";
LOCATE 7,38:PRINT "╘════════════════════════════╛ ";
RETURN
'
' LOOP UNTIL USER WANTS TO QUIT
'----------------------------------------------------------
MAINLOOP:
QUITFLAG%= 0:XCOLUMN% = 1:XLINE% = 1
OLDCOLUMN% = 0:OLDLINE% = 0:FORE% = 0:BACK% = 0
WHILE QUITFLAG% = 0
COLOR FORE%, BACK%:LOCATE 10,38:PRINT "> Sample Text 0123456789?!., <";
COLOR ORIGFOR%, ORIGBACK%
LOCATE 12,38:PRINT USING "FOREGROUND: ## \ \";_
FORE%, COLORNAME$(FORE% + 1);
LOCATE 13,38:PRINT USING "BACKGROUND: ## \ \";_
BACK%, COLORNAME$(BACK% + 1);
LOCATE 17,XCOLUMN%:PRINT CHR$(30);CHR$(30);:REM** UP ARROW CHARS **
LOCATE XLINE%, 33:PRINT CHR$(17);CHR$(17);:REM** LEFT ARROW CHARS **
'*** LOOP AND GET ANY KEY PRESSED ***
KY$ = ""
WHILE KY$ = ""
KY$ = INKEY$
WEND
'*** TEST FOR ANY KEYS WE ARE LOOKING FOR ***
IF (KY$ = ESC$ OR KY$ = " " OR KY$ = CR$) THEN
QUITFLAG% = 1
ELSE
SELECT CASE KY$
CASE UPARROW$:
IF XLINE% > 1 THEN
OLDLINE% = XLINE%
XLINE% = XLINE% - 1
LOCATE OLDLINE%,33:PRINT " ";
FORE% = FORE% - 1
END IF
CASE DOWNARROW$:
IF XLINE% < 16 THEN
OLDLINE% = XLINE%
XLINE% = XLINE% + 1
LOCATE OLDLINE%,33:PRINT " ";
FORE% = FORE% + 1
END IF
CASE LEFTARROW$:
IF XCOLUMN% > 2 THEN
OLDCOLUMN% = XCOLUMN%
XCOLUMN% = XCOLUMN% - 2
LOCATE 17, OLDCOLUMN%:PRINT " ";
BACK% = BACK% - 1
END IF
CASE RIGHTARROW$:
IF XCOLUMN% < 30 THEN
OLDCOLUMN% = XCOLUMN%
XCOLUMN% = XCOLUMN% + 2
LOCATE 17, OLDCOLUMN%:PRINT " ";
BACK% = BACK% + 1
END IF
END SELECT
END IF
WEND
RETURN
'
'
'----------------------------------------------------------
COLORNAMES:
DIM COLORNAME$(1:16)
COLORNAME$(1) = "BLACK "
COLORNAME$(2) = "BLUE "
COLORNAME$(3) = "GREEN "
COLORNAME$(4) = "CYAN "
COLORNAME$(5) = "RED "
COLORNAME$(6) = "MAGENTA "
COLORNAME$(7) = "BROWN "
COLORNAME$(8) = "WHITE "
COLORNAME$(9) = "GRAY "
COLORNAME$(10) = "LIGHT BLUE "
COLORNAME$(11) = "LIGHT GREEN "
COLORNAME$(12) = "LIGHT CYAN "
COLORNAME$(13) = "LIGHT RED "
COLORNAME$(14) = "LIGHT MAGENTA "
COLORNAME$(15) = "YELLOW "
COLORNAME$(16) = "HIGH INTENSITY WHITE"
RETURN